/*
 * Zadanie 3 7
 *
 * Napisz własną funkcję strbrk tak aby jej działanie odpowiadało funkcji z biblioteki string.h.
 * Poniżej przykład działania powyższej funkcji:
 *
 * #include <stdio.h>
 * #include <string.h>
 *
 * int main ()
 * {
 *      char str[] = "This is a sample string";
 *      char key[] = "aeiou";
 *      char * pch;
 *      printf ("Vowels in '%s': ",str);
 *      pch = strpbrk (str, key);
 *      while (pch != NULL)
 *      {
 *          printf ("%c " , *pch);
 *          pch = strpbrk (pch+1,key);
 *      }
 *
 *      printf ("\n");
 *      return 0;
 * }
 *
 * OUTPUT
 * Vowels in 'This is a sample string': i i a a e i
 *
 * Version: $Id: main.cpp 59 2011-11-14 22:28:14Z s8376@pjwstk.edu.pl $
 */
#include <iostream>
#include <string.h>

using namespace std;

char* strbrk(char* string, char* chars);

int main()
{
    char* str = "This is a sample string";
    char* key = "aeiou";
    char* pch;

    cout << "Vowels (" << key << ") in: " << str << endl;

    pch = strbrk(str, key);

    while (pch != NULL) {
        cout << *pch << " ";
        pch = strpbrk(pch + 1, key);
    }

    cout << endl;

    return 0;
}

char* strbrk(char* string, char* chars)
{
    char* charMarker = new char[strlen(chars) + 1];
    char* marker;

    while (*chars != 0) {

cout << "looking for: "<< *chars<<endl;

        marker = string;
        while (*marker != 0) {
            if (*chars == *marker) {
                charMarker += *marker;
//                return charMarker;
            }
            marker++;
        }
        string++;
    }

    return strlen(charMarker) > 0 ? charMarker : NULL;
}
